<HTML><HEAD><TITLE>disjunctive(+StartTimes, +Durations)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(edge_finder)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>disjunctive(+StartTimes, +Durations)</H1>
Constrain the tasks with specified start times and durations to not overlap in time.
<DL>
<DT><EM>StartTimes</EM></DT>
<DD>Collection of start times for tasks (integer variables or integers)
</DD>
<DT><EM>Durations</EM></DT>
<DD>Collection of duration for tasks (integer variables or integers)
</DD>
</DL>
<H2>Description</H2>
<P>
    A disjunctive scheduling constraint. StartTimes and Durations are
    collections (a la collection_to_list/2) of equal size N of integer
    variables or integers.  The declarative meaning is that the N tasks with
    the given start times and durations do not overlap at any point in time.
</P><P>
    Any input variables which do not already have finite bounds will be
    given default bounds of -10000000 to 10000000.
</P>
<H2>See Also</H2>
<A HREF="../../lib/edge_finder/disjunctive_bools-3.html">disjunctive_bools / 3</A>, <A HREF="../../lib/lists/collection_to_list-2.html">lists : collection_to_list / 2</A>, <A HREF="../../lib/ic_edge_finder/disjunctive-2.html">ic_edge_finder : disjunctive / 2</A>, <A HREF="../../lib/edge_finder3/disjunctive-2.html">edge_finder3 : disjunctive / 2</A>, <A HREF="../../lib/ic_edge_finder3/disjunctive-2.html">ic_edge_finder3 : disjunctive / 2</A>
</BODY></HTML>
